Operatoren in ST
Operatoren führen Operationen aus und stellen Funktionalitäten zur Verfügung, wie z.B. Addition. Mit Operatoren verknüpfen Sie die Operanden zu Ausdrücken.
Mögliche Operatoren
Nr. |
Beschreibung der Operation: Symbol |
Beispiele |
Rangfolge |
Entsprechender |
---|---|---|---|---|
1 |
Klammerung:
|
|
12 (Höchste) |
|
2 |
Aufruf einer Funktion oder Aufruf einer Methode, sofern ein Ergebniswert deklariert ist:
|
|
11 |
|
3 |
Dereferenzierung
Details: siehe unter "Deklaration von Referenz-Variablen (inkl. Zuweisungen darauf)" |
|
10 |
|
4 |
Negation:
|
|
9 |
|
5 |
Unäres Plus:
|
|
9 |
|
6 |
Komplement:
|
|
9 |
|
7 |
Potenzierung:
|
|
8 |
|
8 |
Multiplikation:
|
|
7 |
|
9 |
Division:
|
|
7 |
|
10 |
Modulo:
|
|
7 |
|
11 |
Addition:
|
|
6 |
|
12 |
Subtraktion:
|
|
6 |
|
13 |
Vergleiche:
|
|
5 |
|
14 |
Gleichheit:
|
|
4 |
|
15 |
Ungleichheit:
|
A <> B |
4 |
|
16a |
Boolesches UND:
|
|
3 |
|
16b |
Boolesches UND:
|
|
3 |
|
17 |
Boolesches Exklusiv ODER:
|
|
2 |
|
18 |
Boolesches ODER:
|
|
1 (niedrigste) |
Hinweise:
-
Operatoren können →überladen sein.
-
Auf die Datentypen
STRING
undCHAR
können lediglich diese Operatoren angewandt werden:=, <>, <, >, <=, >=
Abweichung zur IEC-Norm Die Operatoren für den Vergleich |
-
Für deklarierte Variablen, die auf einem →Interface basieren, und
NULL
kann lediglich der Gleichheit-Operator = und der Ungleichheit-Operator<>
angewandt werden.
Vergleich von Variablen basierend auf einem Interface bzw. von einer mit NULL |
---|
|
-
Die Spalte "Entsprechender Standardbaustein" informiert Sie, welcher Operator die gleichen Ergebnisse wie der entsprechende Standardbaustein liefert. Die Bedingung dafür ist, dass der Operator mit den gleichen Daten wie der Standardbaustein arbeitet. Beispiel: Der Ausdruck
x+y
für die Addition hat ein identisches Verhalten zu diesem Aufruf desADD
-Bausteins:ADD(x,y)
. Beachten Sie: Falls die Baustein-Beschreibung die Warnung "Keine Prüfung von ungültigen Beschaltungen" enthält, gilt diese Warnung auch für den entsprechenden ST-Operator Diese Warnung ist wie diese (oder ähnlich dazu):
Keine Prüfung von ungültigen Beschaltungen Bei einigen Bausteinen werden ungültige Beschaltungen von Neuron Power Engineer nicht geprüft. Geben Sie deshalb Code in Ihrer Anwendung ein (z.B. Lesen Sie unter "Standardbausteine für die Anwendung" nach, welche Auswirkungen eine ungültige Beschaltung haben könnte. |
Abweichung zur IEC-Norm Die Nicht-Prüfung von ungültigen Beschaltungen ist eine Abweichung von der →IEC-Norm, die eine Fehlerbehandlung fordert, falls das Ergebnis eines Bausteins den Wertebereich des Ausgangsdatentyp überschreitet. Diese Abweichung gilt auch für den entsprechenden ST-Operator. |
-
In anderen Fehlerfällen (z.B. bei einer Division durch
0
) wird der Wert0
als Ergebnis geliefert. Der AusgangENO
der umfassenden →POE wird nicht auf den WertFALSE
(bzw. einer Entsprechung) gesetzt. -
Beachten Sie die korrekte Kombination der →Literale/→Variablen für Multiplikation, Division, Addition und Subtraktion, sofern die Operation für Literale/Variablen vom Datentyp
TIME
durchgeführt werden soll. Andere Kombinationen werden als fehlerhaft markiert.
Operation: Symbol |
Datentyp für Operand und Ergebnis |
Beispiel |
Die Operation liefert das gleiche Ergebnis wie dieser Baustein: |
---|---|---|---|
Multiplikation: |
|
|
|
Division: |
|
|
|
Addition: |
|
|
|
Subtraktion: |
|
T#4s - T#3s |
|